package com.scsystem.xysc.service;

import com.scsystem.xysc.pojo.StoreData;
import com.baomidou.mybatisplus.extension.service.IService;

import java.time.LocalDate;

/**
* @author sky
* @description 针对表【store_data(商铺数据)】的数据库操作Service
* @createDate 2023-10-21 12:22:58
*/
public interface StoreDataService extends IService<StoreData> {

    /**
     * 计算店铺指定时间段的成交率
     * @param storeId 店铺ID
     * @param startDate 开始时间
     * @param endDate 结束时间
     * @return Double 成交率
     */
    public Double calculateVisitCompletionRate(Long storeId, LocalDate startDate, LocalDate endDate);

    /**
     * 计算店铺今日访问量完成率
     * @param storeId 店铺ID
     * @return 今日访问量完成率
     */
    Double calculateTodayVisitCompletionRate(Long storeId);

    /**
     * 计算店铺昨日访问量完成率
     * @param storeId 店铺ID
     * @return 昨日访问量完成率
     */
    Double calculateYesterdayVisitCompletionRate(Long storeId);

    /**
     * 计算店铺本周访问量完成率
     * @param storeId 店铺ID
     * @return 本周访问量完成率
     */
    Double calculateWeeklyVisitCompletionRate(Long storeId);

    /**
     * 计算店铺本月访问量完成率
     * @param storeId 店铺ID
     * @return 本月访问量完成率
     */
    Double calculateMonthlyVisitCompletionRate(Long storeId);

    /**
     * 记录顾客的访问信息，并根据是否成交更新记录
     * @param userIp 顾客的IP地址
     * @param storeId 店铺ID
     * @param isDeal 是否成交
     */
    public void recordCustomerVisit(String userIp, Long storeId, boolean isDeal);

}
